home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Xenosoft 2
/
Xenosoft 2 (Game collection)(1994).iso
/
bioforge
/
script
/
shutdown.scp
< prev
next >
Wrap
Text File
|
1994-12-08
|
11KB
|
463 lines
{ RTR_MON_USE
^Ç┤ ++
I ( @Çä IN (-60,60) ) THEN
{
£ RTRMNLOC GRADUAL
M LOOK_CONSOLE
@Ç¥ RR_CENTRALCONTROLPANEL
â
M STAND CONTINUE
}
^Ç┤ --
}
// 7.31 REACTOR ROOM/CENTRAL CONTROL PANEL
{ RR_CENTRALCONTROLPANEL
P ~ÇÇ
~ÇÇ = 0
^ç« = 0
// START REACTOR MONITOR
RTRM
m
// IF REACTOR IS SHUTDOWN THEN SHOW LAST KNOWN POSITIONS
I ^ç£ = 1 THEN
{
"1psa" ^çª
"2psa" ^çº
"3Psa" ^ç¿
"4psa" ^ç⌐
}
// IF LEFT PYLON IF STILL DOWN THEN STROBE ART, ELSE DON'T
I ^ଠ= 0 THEN
{
^çú = 1
}
E
{
^çú = 0
LPEA 1
LPEL "DISENGAGED/GDISENGAGED/FDISENGAGED" // @@@ PLEASE TRANSLARE
}
// IF RIGHT PYLON IS STILL DOWN THEN STROBE ART, ELSE DON'T
I ^འ= 0 THEN
{
^çñ = 1
}
E
{
^çñ = 0
RPEA 1
RPEL "DISENGAGED/GDISENGAGED/FDISENGAGED" // @@@ PLEASE TRANSLATE
}
I ^çú = 1 OR ^çñ = 1 THEN
{
I ^çÑ = 0 THEN
^ç« = @Çì PYLON_STROBE
}
"CD1B" $Ǽ "1" $Ç▒
"CD2B" $Ǽ "2" $Ç▒
"CD3B" $Ǽ "3" $Ç▒
"CD4B" $Ǽ "4" $Ç▒
"CD5B" $Ǽ "5" $Ç▒
LPTL "LEFT POWER TRANSFER PYLON/GLEFT POWER TRANSFER PYLON/FLEFT POWER TRANSFER PYLON" // @@@ PLEASE TRANSLATE
RPTL "RIGHT POWER TRANSFER PYLON/GRIGHT POWER TRANSFER PYLON/FRIGHT POWER TRANSFER PYLON" // @@@ PLEASE TRANSLATE
:SHOW_PDB
I (^ïÄ = 1) THEN
{
PRDB $Ç▓
PRCL $Ç▓ "POWER/GPOWER/FPOWER" // @@@ PLEASE TRANSLATE
PDNL $Ç▓ "DOWN/GDOWN/FDOWN" // @@@ PLEASE TRANSLATE
}
E
{
PRDB $Ç░
PRCL $Ç░ "POWER/GPOWER/FPOWER" // @@@ PLEASE TRANSLATE
PDNL $Ç░ "DOWN/GDOWN/FDOWN" // @@@ PLEASE TRANSLATE
}
:MAIN
â
J #Çâ
:PRDB_BUTTON
@Çå (`ä¼ )
I ^ç£ = 1 THEN
{
@Ç║ (`âÆ "Immediate critical situation nullified.")
J #Çì
}
// IF BOTH LEVERS DOWN
I ^འ= 1 AND ^ଠ= 1 THEN
{
// KILL THE DIGIT UPDATE PROPCESSES
^ç½
^ç¼
^ç¡
^ç£ = 1
I ^ç« != 0 THEN
^ç«
^çÑ = 0
C RTR6
â
@Çì (SHUT_DOWN_WIN)
J #Çì
}
J #Çâ
// REACTOR ACCESS ID CHECKING................
:ACCESS_INIT
^ç╛ = 1
^ç╝ = 0
^ç▓ = -1
^ç│ = -1
^ç┤ = -1
^ç╡ = -1
^ç╢ = -1
J #Çâ //?
// FINISH ACCESS_INIT
:SCLB_BUTTON
@Çå (`ü» )
J #Çà
:CD1B_BUTTON
@Çå (`ü░ )
c ~ÇÇ 1
J #Çî
:CD2B_BUTTON
@Çå (`ü░ )
c ~ÇÇ 2
J #Çî
:CD3B_BUTTON
@Çå (`ü░ )
c ~ÇÇ 3
J #Çî
:CD4B_BUTTON
@Çå (`ü░ )
c ~ÇÇ 4
J #Çî
:CD5B_BUTTON
@Çå (`ü░ )
c ~ÇÇ 5
J #Çî
// REACTOR ACCESS ALLOWED?
:CHECK_ACCESS_CODE
// AGAINST RANDOM NUMBERS FOR EACH DIGIT FOUND IN DANE'S LOG
I (~ÇÇ == ^ïî ) THEN
// VALID ID ENTERED
^ïÄ = 1
E
// INVALID ID ENTERED
^ïÄ = 0
J #Çé
// FINISH REACTOR ACCESS ID CHECKING................
:ESCAPE_BUTTON
@Çå (`ü▓ )
I ^ç« != 0 THEN
^ç«
^ç« = 0
^çÑ = 0
}
{ REACTORDETONATIONTIMER
^ç½ = @Çì RDTDIGIT1N2
^ç¼ = @Çì RDTDIGIT3
^ç¡ = @Çì RDTDIGIT4
B `âå `âç
B `âê `âë
B `âè `âï
B `âî `âì
B `âÄ `âÅ
B `âÉ
:LOOP
// OK TO TRY & SET FRAME WHETHER MONITOR RUNNING OR NOT. -JAR
"1psa" ^çª
"2psa" ^çº
"3psa" ^ç¿
"4psa" ^ç⌐
â
I ( ^çá = 3) THEN
{
// KILL THE DIGIT UPDATE PROPCESSES
^ç½
^ç¼
^ç¡
I ^ç« != 0 THEN
^ç«
^çÑ = 0
C RTR6
â
@Çì (SHUT_DOWN_LOSE)
é
}
J #ÇÅ
}
// REACTOR DETONATION TIMER (DIGIT #1 & #2) 10X & 1X SEC
[ RDTDIGIT1N2
P ~ÇÇ
^çª = 10 // LEAVE THIS AT 10! - LRG
:LOOP
00:00 ^çº = 10
// CHECK FOR 1S WARNING FOR LAST 10 SECS
I (^çª == 1) AND @Çó (~ÇÇ ) = $Ç╗ THEN
{
@Ç║ (`âê "/!9")
00:05 @Çå (`âê , 100)
}
01:00 ^çº = 9
I (^çª == 1) AND @Çó (~ÇÇ ) = $Ç╗ THEN
{
@Ç║ `âë "/!8"
01:05 @Çå (`âë , 100)
}
02:00 ^çº = 8
I (^çª == 1) AND @Çó (~ÇÇ ) = $Ç╗ THEN
{
@Ç║ `âè "/!7"
02:05 @Çå (`âè , 100)
}
03:00 ^çº = 7
I (^çª == 1) AND @Çó (~ÇÇ ) = $Ç╗ THEN
{
@Ç║ `âï "/!6"
03:05 @Çå (`âï , 100)
}
04:00 ^çº = 6
I (^çª == 1) AND @Çó (~ÇÇ ) = $Ç╗ THEN
{
@Ç║ `âî "/!5"
04:05 @Çå (`âî , 100)
}
05:00 ^çº = 5
I (^çª == 1) AND @Çó (~ÇÇ ) = $Ç╗ THEN
{
@Ç║ `âì "/!4"
05:05 @Çå (`âì , 100)
}
I (^çª == 2) THEN
{
//@@@TRANSLATE
~ÇÇ = @Ç║ (`âç "Warning: Reactor will achieve critical state in ~10 seconds!")
04:15 @Çå (`âç , 100)
}
06:00 ^çº = 4
I (^çª == 1) AND @Çó (~ÇÇ ) = $Ç╗ THEN
{
@Ç║ `âÄ "/!3"
06:05 @Çå (`âÄ , 100)
}
07:00 ^çº = 3
I (^çª == 1) AND @Çó (~ÇÇ ) = $Ç╗ THEN
{
@Ç║ `âÅ "/!2"
07:05 @Çå (`âÅ , 100)
}
08:00 ^çº = 2
I (^çª == 1) AND @Çó (~ÇÇ ) = $Ç╗ THEN
{
@Ç║ `âÉ "/!1"
08:05 @Çå (`âÉ , 100)
}
09:00 ^çº = 1
10:00 I (^çª == 1) THEN J #ÇÆ
// CHECK FOR 30 SEC WARNING
// FRAME 4 IS '3'
I (^çª == 4) THEN
{
//@@@TRANSLATE
@Ç║ (`âå "Warning: Reactor will achieve critical state in ~30 seconds!")
10:05 @Çå (`âå , 100)
}
^çª --
ò
J #Çæ
:DETONATE
^çá = 1
é
]
// REACTOR DETONATION TIMER (DIGIT #3) 1^-10 SEC
[ RDTDIGIT3
:LOOP
00:00 ^ç¿ = 10
@Çå (`ü¡ , CL1)
@Çå (`è░ , RLA)
00:03 ^ç¿ = 9
00:06 ^ç¿ = 8
00:09 ^ç¿ = 7
00:12 ^ç¿ = 6
00:15 ^ç¿ = 5
00:18 ^ç¿ = 4
00:21 ^ç¿ = 3
00:24 ^ç¿ = 2
00:27 ^ç¿ = 1
01:00 I ^çá = 1 THEN
^çá = 2
E
{
ò
J #Çö
}
]
// REACTOR DETONATION TIMER (DIGIT #4) 1^-100 SEC
// UPDATE RANDOMLY AT FASTEST FRAME RATE
{ RDTDIGIT4
:LOOP
I ^çá != 2 THEN
{
^ç⌐ = @Çà (1,10)
â
J #Çû
}
E
{
^ç⌐ = 1
^çá = 3
}
}
{ PYLON_STROBE
P ~ÇÇ
P ~Çü
~ÇÇ = 1
~Çü = 1
^çÑ = 1
:PYLON_TOP
I ^çú = 1 THEN
{
LPEA ~ÇÇ
LPEL "ENGAGED/GENGAGED/FENGAGED" // @@@ PLEASE TRANSLATE
}
I ^çñ = 1 THEN
{
RPEA ~Çü
RPEL "ENGAGED/GENGAGED/FENGAGED" // @@@ PLEASE TRANSLATE
}
// WAIT 2
â
~ÇÇ ++
~Çü ++
I ~ÇÇ = 5 THEN ~ÇÇ = 1
I ~Çü = 5 THEN ~Çü = 1
J #Çÿ
}
// **** REAL-TIME *****
[ SHUT_DOWN_WIN
P ~ÇÇ
P ~Çü
P ~Çé
00:00 @Çè (^çƒ +1 0 30 5)
@Ç¢ PLAYER
A OFF
00:15 ~ÇÇ = @Çå (`à╡ )
01:00 ~Çü = @Çå (`à╡ 255 -1024)
01:25 (~ÇÇ )
02:00 (~Çü )
02:10 ~Çé = @Çå (`ü╡ )
@Çï (~Çé 10000 60)
04:10 (~Çé )
05:05 C UNLOCK
//@@@TRANSLATE
05:15 @Ç║ (`âÆ "Immediate critical situation nullified.")
A ON
05:20 @Çå (`âÆ 200)
10:00 i LEX REACTOL
]
[ SHUT_DOWN_LOSE
P ~ÇÇ
P ~Çü
00:00 @Çè (^çƒ +1 0 20 5)
^êä = @Çê ()
(^êä 255)
@Çï (^êä 10000 105)
@Ç¢ PLAYER
A OFF
00:15 ~ÇÇ = @Çå (`à╡ )
01:00 ~Çü = @Çå (`à╡ 255 -1024)
01:25 (~ÇÇ )
02:00 (~Çü )
03:15 @Çå (`ǽ 255 2048)
^êä = @Çê ()
(^êä )
03:25 Ü 63 63 63 100
C SHOW STITLE
03:26 @Çì KILLLEX
]
//$ 26 - version number